.\" 
.\" monodis manual page.
.\" (C) Ximian, Inc. 
.\" Author:
.\"   Miguel de Icaza (miguel@gnu.org)
.\"
.TH Mono "Mono 1.1.x"
.SH NAME
monodis \- CIL image content dumper and disassembler.
.SH SYNOPSIS
.PP
.B monodis
[\-h] [\-\-help] 
[\-\-output=FILENAME]
[\-\-mscorlib]
[\-\-assembly]
[\-\-assemblyref]
[\-\-classlayout]
[\-\-constant]
[\-\-customattr]
[\-\-declsec]
[\-\-event]
[\-\-exported]
[\-\-fields]
[\-\-file]
[\-\-forward-decls]
[\-\-genericpar]
[\-\-implmap]
[\-\-interface]
[\-\-manifest]
[\-\-marshal]
[\-\-memberref]
[\-\-method]
[\-\-methodimpl]
[\-\-methodsem]
[\-\-methodspec]
[\-\-module]
[\-\-moduleref]
[\-\-mresources]
[\-\-presources]
[\-\-nested]
[\-\-param]
[\-\-parconst]
[\-\-property]
[\-\-propertymap]
[\-\-standalonesig]
[\-\-typedef]
[\-\-typeref]
[\-\-typespec]
[\-\-blob]
[\-\-strings]
[\-\-userstrings]
[FILES...]
.SH DESCRIPTION
The \fImonodis\fP program is used to dump the contents an ECMA/ISO CIL
image (contained in .EXE files that contain extended PE/COFF CIL
code).
.PP
To roundtrip assemblies using ilasm, it is best to use the --output
argument, as that will make monodis save the embedded resources in
files that can later be properly embedded back by ilasm. 
.PP
Additionally, the tool can be used to dump the contents of the various
ECMA CIL metadata tables.
.SH OPTIONS
The following Generic options are supported:
.TP
.I "--help", "-h"
Displays usage instructions.
.TP
.I "--output=FILENAME"
Write output into \fIFILENAME\fP and dump any embedded managed resources.
.TP
.I "--mscorlib"
For non-corlib assemblies, use "mscorlib" as the assembly name. This
is useful for round-tripping the IL with ilasm.
.TP
.I "--show-method-tokens"
Display tokens for disassembled methods.
.SH OPTIONS TO DISPLAY METADATA TABLES
The following options are used to display metadata tables instead of
disassembling the CIL image.
.TP
.I "--assembly"
Dumps the contents of the Assembly table.
.TP
.I "--assemblyref"
Dumps the contents of the AssemblyRef table.
.TP
.I "--classlayout"
Dumps the contents of the ClassLayout table.
.TP
.I "--constant"
Dumps the contents of the Constant table.
.TP
.I "--customattr"
Dumps the contents of the CustomAttribute table.
.TP
.I "--declsec"
Dumps the contents of the DeclSec table.
.TP
.I "--event"
Dumps the contents of the Event table.
.TP
.I "--exported"
Dumps the contents of the ExportedType table.
.TP
.I "--fields"
Dumps the contents of the Field table.
.TP
.I "--file"
Dumps the contents of the File table.
.TP
.I "--forward-decls"
Dumps forward declarations for classes.
.TP
.I "--genericpar"
Dumps the contents of the GenericParam table.
.TP
.I "--implmap"
Dumps the contents of the ImplMap table.
.TP
.I "--interface"
Dumps the contents of the InterfaceImpl table.
.TP
.I "--manifest"
Dumps the contents of the ManifestResource table.
.TP
.I "--marshal"
Dumps the contents of the FieldMarshal table.
.TP
.I "--memberref"
Dumps the contents of the MemberRef table.
.TP
.I "--method"
Dumps the contents of the MethodDef table.
.TP
.I "--methodimpl"
Dumps the contents of the MethodImpl table.
.TP
.I "--methodspec"
Dumps the contents of the MethodSpec table.
.TP
.I "--methodsem"
Dumps the contents of the MethodSemantics table.
.TP
.I "--module"
Dumps the contents of the Module table.
.TP
.I "--moduleref"
Dumps the contents of the ModuleRef table.
.TP
.I "--mresources"
Saves all the managed resources embedded in the assembly into the
current directory.   To get a list of the embedded resources use the
--manifest option.
.TP
.I "--presources"
Prints offsets and names of manifest resources embedded in the assembly.
.TP
.I "--nested"
Dumps the contents of the NestedClass table.
.TP
.I "--param"
Dumps the contents of the Param table.
.TP
.I "--parconst"
Dumps the contents of the GenericParameterConstraint table.
.TP
.I "--property"
Dumps the contents of the Property table.
.TP
.I "--propertymap"
Dumps the contents of the PropertyMap table.
.TP
.I "--standalonesig"
Dumps the contents of the StandAloneSig table.
.TP
.I "--typedef"
Dumps the contents of the TypeDef table.
.TP
.I "--typespec"
Dumps the contents of the TypeSpec table.
.TP
.I "--typeref"
Dumps the contents of the TypeRef table.
.TP
.I "--blob"
Dumps the entire contents of the blob stream as hex.
.TP
.I "--strings"
Dumps the contents of the Strings heap.
.TP
.I "--userstrings"
Dumps the contents of the User-Strings heap
.PP
If no flags are specified the program dumps the content of the image
in a format that can be used to rountrip the code.
.PP
.SH ENVIRONMENT VARIABLES
.TP
.I "MONO_PATH"
Provides a search path to mono and mint where to look for library files.
Directories are separated by the platform path separator (colons on unix). Example:
.B /home/username/lib:/usr/local/mono/lib
.PP
.SH AUTHOR
monodis was written by Miguel de Icaza, Paolo Molaro and Dietmar Maurer.
.SH SEE ALSO
.BR pedump(1)
